/**
 * Copyright 2005 The Apache Software Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.edi.runtime.component
{
	import flash.display.Sprite;
	import mx.events.CloseEvent;
	import mx.controls.Alert;
	
	/**
	 * 可自动隐藏HTMLPlan类型的的提示对话框 
	 * 
	 */		
	public class EDIAlert
	{
		/**
		 * 继承自 mx.controls.Alert.show 方法。内封装了隐藏HTMLPlan和关闭对话框后显示HTMLPlan的方法
		 * @param text  在 Alert 控件中显示的文本字符串。此文本将在警告对话框中居中显示。
		 * @param title 标题栏中显示的文本字符串。此文本左对齐。
		 * @param flags Alert 控件中放置的按钮。有效值为 Alert.OK、Alert.CANCEL、Alert.YES 和 Alert.NO。默认值为 Alert.OK。使用按位 OR 运算符可显示多个按钮。例如，传递 (Alert.YES | Alert.NO) 显示“是”和“否”按钮。无论按怎样的顺序指定按钮，它们始终按照以下顺序从左到右显示：“确定”、“是”、“否”、“取消”。 
		 * @param parent  Alert 控件在其上居中的对象。 
		 * @param closeHandler 按下 Alert 控件上的任意按钮时将调用的事件处理函数。传递给此处理函数的事件对象是 CloseEvent 的一个实例；此对象的 detail 属性包含 Alert.OK、Alert.CANCEL、Alert.YES 或 Alert.NO 值。 
		 * @param iconClass 位于 Alert 控件中文本左侧的图标的类。 
		 * @param defaultButtonFlag 指定默认按钮的位标志。您可以指定一个值，并且只能是 Alert.OK、Alert.CANCEL、Alert.YES 或 Alert.NO 中的一个值。默认值为 Alert.OK。按 Enter 键触发默认按钮，与单击此按钮的效果相同。按 Esc 键触发“取消”或“否”按钮，与选择相应按钮的效果相同。 
		 * @return 
		 * 
		 */		
		public static function show(text:String = "", title:String = "",
                                flags:uint = 0x4 /* Alert.OK */, 
                                parent:Sprite = null, 
                                closeHandler:Function = null, 
                                iconClass:Class = null, 
                                defaultButtonFlag:uint = 0x4 /* Alert.OK */):Alert
        {
        	EDIApplication.setHtmlPlanVisible(false,EDIAlert);
        	return Alert.show(text,title,flags,parent,function(event:CloseEvent):void
        		{
        			if(closeHandler!=null){closeHandler.call(this,event);}	
        			EDIApplication.rstoreHtmlPlanVisible(true,EDIAlert);
        		},iconClass,defaultButtonFlag
        	);
        }
	}
}